greet.go 吧 我們要來對她動一點手腳package greeting
import (
    "errors"
    "fmt"
)
func Greet(name string) (string, error) {
    if name == "" {
        return "", errors.New("empty name")
    }
    message := fmt.Sprintf("Hi, %v. Welcome!", name)
    return message, nil
}
greet.go 中 多 import errors 的 package(errors 在 go 中是拿來處理錯誤的 package)name 為空的情況
empty name 的錯誤寫完之後記得在該資料夾內
go mod tidy一下 不然會抓不到errors喔
package main
import (
	"fmt"
	"log"   // 引入 log package
	"modules_example/greeting"
)
func main() {
	log.SetPrefix("greeting: ")
	log.SetFlags(0)
	message, err := greeting.Greet("")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(message)
}
greet.go, 所以前墜設成 Greet 方便辨認是從哪一個 package 出來的Fatal 來印出這個error這裡一樣要
go mod tidy喔
go run . 之後,輸入空值,結果要如下所示,代表你成功處理了這個錯誤